package aceim.api.dataentity; import aceim.api.service.ApiConstants; import android.os.Parcel; import android.os.Parcelable; /** * Target type for {@link ProtocolServiceFeature}. */ public enum ProtocolServiceFeatureTarget implements Parcelable { /** * Applicable to account (my status, extended status etc) */ ACCOUNT, /** * Applicable to buddy (visibility to buddy, buddy's status etc) */ BUDDY, /** * Applicable to buddy group (of account, not multi-user chat). Example: {@link ApiConstants#FEATURE_GROUP_MANAGEMENT} */ GROUP, /** * Applicable to whole protocol service. */ PROTOCOL_SERVICE; private ProtocolServiceFeatureTarget(){} public int describeContents() { return 0; } public void writeToParcel(Parcel out, int flags) { out.writeString(name()); } public static final Parcelable.Creator<ProtocolServiceFeatureTarget> CREATOR = new Parcelable.Creator<ProtocolServiceFeatureTarget>() { public ProtocolServiceFeatureTarget createFromParcel(Parcel in) { return ProtocolServiceFeatureTarget.valueOf(in.readString()); } public ProtocolServiceFeatureTarget[] newArray(int size) { return new ProtocolServiceFeatureTarget[size]; } }; }